home *** CD-ROM | disk | FTP | other *** search
/ What PC? 2000 May / What PC May 2000 / wpcmay00.iso / SOFTWARE / UTILITY / vvho52uk / ACROBAT / ARCHIVE.Z / AcroRd32.exe / PSPROCSET / 5 < prev    next >
Text File  |  1997-06-16  |  11KB  |  650 lines

  1. %%BeginFile: pdf.prc
  2. %%Copyright: Copyright 1987-1996 Adobe Systems Incorporated. All Rights Reserved.
  3. /initialize {
  4. _ColorSep5044? {sep_ops begin 50 dict begin} if
  5. newpath
  6. } bd
  7. /terminate {
  8. _ColorSep5044? {end end} if
  9. } bd
  10. Level2? StartLoad
  11. { /m/moveto ld
  12. /l/lineto ld
  13. /c/curveto ld
  14. /setSA/setstrokeadjust ld
  15. } EndLoad
  16. Level2? not StartLoad
  17. {
  18. /pl {
  19. transform
  20. 0.25 sub round 0.25 add exch
  21. 0.25 sub round 0.25 add exch
  22. itransform
  23. } bd
  24. /m { _sa? { pl } if moveto } bd
  25. /l { _sa? { pl } if lineto } bd
  26. /c { _sa? { pl } if curveto } bd
  27. /setSA { /_sa? xdd } bd
  28. } EndLoad
  29. /v { currentpoint 6 2 roll c } bd
  30. /y { 2 copy c } bd
  31. /h/closepath ld
  32. /d/setdash ld
  33. /j/setlinejoin ld
  34. /J/setlinecap ld
  35. /M/setmiterlimit ld
  36. /w/setlinewidth ld
  37. /cf currentflat def
  38. /i {
  39. dup 0 eq { pop cf } if
  40. setflat
  41. } bd
  42. /ilp { /_lp /none dd } bd
  43. /sfc {
  44. _lp /fill ne {
  45. _sfcs
  46. _sfc
  47. /_lp /fill dd
  48. } if
  49. } dd
  50. /ssc {
  51. _lp /stroke ne {
  52. _sscs
  53. _ssc
  54. /_lp /stroke dd
  55. } if
  56. } dd
  57. /n {
  58. _doClip 1 ge {
  59. _doClip 1 eq { clip } { eoclip } ifelse
  60. /_doClip 0 dd
  61. } if
  62. newpath
  63. } bd
  64. /f {
  65. _doClip 1 ge
  66. {
  67. gsave sfc fill grestore
  68. _doClip 1 eq { clip } { eoclip } ifelse
  69. newpath
  70. ilp
  71. /_doClip 0 dd
  72. }
  73. { sfc fill }
  74. ifelse
  75. } bd
  76. /f* {
  77. _doClip 1 ge
  78. {
  79. gsave sfc eofill grestore
  80. _doClip 1 eq { clip } { eoclip } ifelse
  81. newpath
  82. ilp
  83. /_doClip 0 dd
  84. }
  85. { sfc eofill }
  86. ifelse
  87. } bd
  88. /S {
  89. _doClip 1 ge
  90. {
  91. gsave ssc stroke grestore
  92. _doClip 1 eq { clip } { eoclip } ifelse
  93. newpath
  94. ilp
  95. /_doClip 0 dd
  96. }
  97. { ssc stroke }
  98. ifelse
  99. } bd
  100. /s { h S } bd
  101. /B {
  102. _doClip dup 1 ge
  103. gsave f grestore
  104. {
  105. gsave S grestore
  106. 1 eq { clip } { eoclip } ifelse
  107. newpath
  108. ilp
  109. /_doClip 0 dd
  110. }
  111. { pop S }
  112. ifelse
  113. } bd
  114. /b { h B } bd
  115. /B* {
  116. _doClip dup 1 ge
  117. gsave f* grestore
  118. {
  119. gsave S grestore
  120. 1 eq { clip } { eoclip } ifelse
  121. newpath
  122. ilp
  123. /_doClip 0 dd
  124. }
  125. { pop S }
  126. ifelse
  127. } bd
  128. /b* { h B* } bd
  129. /W { /_doClip 1 dd } bd
  130. /W* { /_doClip 2 dd } bd
  131. /q/save ld
  132. /Q { restore ilp } bd
  133. Level2? StartLoad
  134. { /defineRes/defineresource ld
  135. /findRes/findresource ld
  136. currentglobal
  137. true systemdict /setglobal get exec
  138. [/Function /ExtGState /Form]
  139. { /Generic /Category findresource dup length dict copy /Category defineresource pop }
  140. forall
  141. systemdict /setglobal get exec
  142. } EndLoad
  143. Level2? not StartLoad
  144. { /AlmostFull?
  145. { dup maxlength exch length sub 2 le
  146. } bind def
  147. /Expand
  148. { 1 index maxlength mul cvi dict
  149. dup begin exch { def } forall end
  150. } bind def
  151. /xput
  152. { 3 2 roll
  153. dup 3 index known not
  154. { dup AlmostFull? { 1.5 Expand } if
  155. } if
  156. dup 4 2 roll put
  157. } bind def
  158. /defineRes
  159. { _categories 1 index known not
  160. { /_categories _categories 2 index 10 dict xput store
  161. } if
  162. _categories exch 2 copy get 5 -1 roll 4 index xput put
  163. } bind def
  164. /findRes
  165. { _categories exch get exch get
  166. } bind def
  167. } EndLoad
  168. /cs
  169. {
  170. dup where { pop load } if
  171. dup /_fcs xdd
  172. ucs
  173. _cpcf exch get
  174. /_fc xdd
  175. /_fp null dd
  176. } bd
  177. /CS
  178. {
  179. dup where { pop load } if
  180. dup /_scs xdd ucs _cpcs exch get /_sc xdd /_sp null dd
  181. } bd
  182. /ucs {
  183. dup type /arraytype eq
  184. { dup 0 get
  185. dup /Indexed eq
  186. { pop 0 get }
  187. { /Pattern eq
  188. { dup length 2 eq
  189. { 1 get ucs }
  190. { 0 get }
  191. ifelse }
  192. { 0 get }
  193. ifelse }
  194. ifelse }
  195. if }
  196. bd
  197. /_cpcf
  198. 15 dict dup begin
  199. /DefaultGray _f1 def
  200. /DeviceGray _f1 def
  201. /DefaultRGB _f3 def
  202. /DeviceRGB _f3 def
  203. /DeviceCMYK _f4 def
  204. /CalGray _f1 def
  205. /CalRGB _f3 def
  206. /CalCMYK _f4 def
  207. /Lab _f3 def
  208. /Pattern _f0 def
  209. /Indexed _f1 def
  210. /Separation _f1 def
  211. /CIEBasedA _f1 def
  212. /CIEBasedABC _f3 def
  213. end
  214. dd
  215. /_cpcs
  216. 15 dict dup begin
  217. /DefaultGray _s1 def
  218. /DeviceGray _s1 def
  219. /DefaultRGB _s3 def
  220. /DeviceRGB _s3 def
  221. /DeviceCMYK _s4 def
  222. /CalGray _s1 def
  223. /CalRGB _s3 def
  224. /CalCMYK _s4 def
  225. /Lab _s3 def
  226. /Pattern _s0 def
  227. /Indexed _s1 def
  228. /Separation _s1 def
  229. /CIEBasedA _s1 def
  230. /CIEBasedABC _s3 def
  231. end
  232. dd
  233. Level2? not StartLoad {
  234. /ri/pop ld
  235. /makePat/pop ld
  236. } EndLoad
  237. Level2? StartLoad {
  238. /ri
  239. {
  240. /findcolorrendering isdefined?
  241. {
  242. mark exch
  243. findcolorrendering
  244. counttomark 2 eq
  245. { type /booleantype eq
  246. { dup type /nametype eq
  247. { dup /ColorRendering resourcestatus
  248. { pop pop
  249. dup /DefaultColorRendering ne
  250. {
  251. /ColorRendering findresource
  252. setcolorrendering
  253. } if
  254. } if
  255. } if
  256. } if
  257. } if
  258. cleartomark
  259. }
  260. { pop
  261. } ifelse
  262. } bd
  263. /makePat /makepattern ld
  264. } EndLoad
  265. Level2? not _ColorSep5044? or StartLoad
  266. {
  267. /L1setcolor {
  268. aload length
  269. dup 0 eq
  270. { pop .5 setgray }
  271. { dup 1 eq
  272. { pop setgray }
  273. { 3 eq
  274. { setrgbcolor }
  275. { setcmykcolor }
  276. ifelse }
  277. ifelse }
  278. ifelse
  279. } bind dd
  280. /_sfcs { } dd
  281. /_sscs { } dd
  282. } EndLoad
  283. Level2? not _ColorSep5044? not and StartLoad
  284. {
  285. /_sfc { _fc L1setcolor } dd
  286. /_ssc { _sc L1setcolor } dd
  287. } EndLoad
  288. Level2? _ColorSep5044? not and StartLoad
  289. {
  290. /_sfcs
  291. {
  292. _fcs setcolorspace
  293. } bind dd
  294. /_sscs
  295. {
  296. _scs setcolorspace
  297. } bind dd
  298. /_sfc
  299. {
  300. _fc aload pop
  301. _fp null eq
  302. { setcolor }
  303. { _fp setpattern }
  304. ifelse
  305. } bind dd
  306. /_ssc
  307. {
  308. _sc aload pop
  309. _sp null eq { setcolor } { _sp setpattern } ifelse
  310. } bind dd
  311. } EndLoad
  312. /sc
  313. {
  314. _fc astore pop
  315. ilp
  316. } bd
  317. /SC
  318. {
  319. _sc astore pop
  320. ilp
  321. } bd
  322. /scn {
  323. dup type /dicttype eq
  324. { dup /_fp xdd
  325. /PaintType get 1 eq
  326. { /_fc _f0 dd ilp }
  327. { /_fc _cpcf _fcs ucs get dd
  328. sc }
  329. ifelse }
  330. { sc }
  331. ifelse
  332. } bd
  333. /SCN {
  334. dup type /dicttype eq
  335. { dup /_sp xdd
  336. /PaintType get 1 eq
  337. { /_sc _s0 dd ilp }
  338. { /_sc _cpcs _scs ucs get dd
  339. SC }
  340. ifelse }
  341. { SC }
  342. ifelse
  343. } bd
  344. /g { /DefaultGray cs sc } bd
  345. /rg { /DefaultRGB cs sc } bd
  346. /k { /DeviceCMYK cs sc } bd
  347. /G { /DefaultGray CS SC } bd
  348. /RG { /DefaultRGB CS SC } bd
  349. /K { /DeviceCMYK CS SC } bd
  350. /cm { _mtx astore concat } bd
  351. /re {
  352. 4 2 roll m
  353. 1 index 0 rlineto
  354. 0 exch rlineto
  355. neg 0 rlineto
  356. h
  357. } bd
  358. /RC/rectclip ld
  359. /EF/execform ld
  360. /PS { cvx exec } bd
  361. /initgs {
  362. /DefaultGray where
  363. { pop }
  364. { /DefaultGray /DeviceGray dd }
  365. ifelse
  366. /DefaultRGB where
  367. { pop }
  368. { /DefaultRGB /DeviceRGB dd }
  369. ifelse
  370. 0 g 0 G
  371. [] 0 d 0 j 0 J 10 M 1 w
  372. true setSA
  373. } bd
  374. 21 dict dup begin
  375. /CosineDot
  376. { 180 mul cos exch 180 mul cos add 2 div } bd
  377. /Cross
  378. { abs exch abs 2 copy gt { exch } if pop neg } bd
  379. /Diamond
  380. { abs exch abs 2 copy add .75 le
  381. { dup mul exch dup mul add 1 exch sub }
  382. { 2 copy add 1.23 le
  383. { .85 mul add 1 exch sub }
  384. { 1 sub dup mul exch 1 sub dup mul add 1 sub }
  385. ifelse }
  386. ifelse } bd
  387. /Double
  388. { exch 2 div exch 2 { 360 mul sin 2 div exch } repeat add } bd
  389. /DoubleDot
  390. { 2 { 360 mul sin 2 div exch } repeat add } bd
  391. /Ellipse
  392. { abs exch abs 2 copy 3 mul exch 4 mul add 3 sub dup 0 lt
  393. { pop dup mul exch .75 div dup mul add 4 div
  394. 1 exch sub }
  395. { dup 1 gt
  396. {pop 1 exch sub dup mul exch 1 exch sub
  397. .75 div dup mul add 4 div 1 sub }
  398. { .5 exch sub exch pop exch pop }
  399. ifelse }
  400. ifelse } bd
  401. /EllipseA
  402. { dup mul .9 mul exch dup mul add 1 exch sub } bd
  403. /EllipseB
  404. { dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub } bd
  405. /EllipseC
  406. { dup .5 gt { 1 exch sub } if
  407. dup .25 ge
  408. { .5 exch sub 4 mul dup mul 1 sub }
  409. { 4 mul dup mul 1 exch sub }
  410. ifelse
  411. exch
  412. dup .5 gt { 1 exch sub } if
  413. dup .25 ge
  414. { .5 exch sub 4 mul dup mul 1 sub }
  415. { 4 mul dup mul 1 exch sub }
  416. ifelse
  417. add -2 div } bd
  418. /InvertedDouble
  419. { exch 2 div exch 2 { 360 mul sin 2 div exch } repeat add neg } bd
  420. /InvertedDoubleDot
  421. { 2 { 360 mul sin 2 div exch } repeat add neg } bd
  422. /InvertedEllipseA
  423. { dup mul .9 mul exch dup mul add 1 sub } bd
  424. /InvertedSimpleDot
  425. { dup mul exch dup mul add 1 sub } bd
  426. /Line
  427. { exch pop abs neg } bd
  428. /LineX
  429. { pop } bd
  430. /LineY
  431. { exch pop } bd
  432. /Rhomboid
  433. { abs exch abs 0.9 mul add 2 div } bd
  434. /Round
  435. { abs exch abs 2 copy add 1 le
  436. { dup mul exch dup mul add 1 exch sub }
  437. { 1 sub dup mul exch 1 sub dup mul add 1 sub }
  438. ifelse } bd
  439. /SimpleDot
  440. { dup mul exch dup mul add 1 exch sub } bd
  441. /Square
  442. { abs exch abs 2 copy lt { exch } if pop neg } bd
  443. end
  444. { /Function defineRes pop } forall
  445. /Identity {} /Function defineRes pop
  446. _ColorSep5044? StartLoad {
  447. /_defaulttransferfunc currenttransfer def
  448. /currentcolortransfer where
  449. { pop /_defaultcolortransferfuncs [ currentcolortransfer ] def }
  450. if
  451. /concattransferfuncs {
  452. [ 3 1 roll /exec load exch /exec load ] cvx
  453. } bd
  454. /concatandsettransfer {
  455. /_defaulttransferfunc load concattransferfuncs settransfer
  456. } bd
  457. /concatandsetcolortransfer {
  458. colorplate 0 eq
  459. {
  460. _defaultcolortransferfuncs aload pop
  461. 8 -1 roll 5 -1 roll concattransferfuncs 7 1 roll
  462. 6 -1 roll 4 -1 roll concattransferfuncs 5 1 roll
  463. 4 -1 roll 3 -1 roll concattransferfuncs 3 1 roll
  464. concattransferfuncs
  465. setcolortransfer
  466. } if
  467. colorplate 1 ge colorplate 4 le and
  468. {
  469. 4 colorplate sub index 4 { exch pop } repeat
  470. concatandsettransfer
  471. } if
  472. colorplate 5 ge
  473. {
  474. 0 index 4 { exch pop } repeat
  475. concatandsettransfer
  476. } if
  477. } bd
  478. /tn5044sethalftone
  479. {
  480. begin
  481. HalftoneType 5 eq
  482. { [/Default /Cyan /Magenta /Yellow /Black /Default /Default /Default]
  483. colorplate get
  484. here not {
  485. /Default here not { currentdict } if
  486. } if
  487. }
  488. { currentdict }
  489. ifelse
  490. end
  491. begin
  492. /TransferFunction here
  493. {
  494. concatandsettransfer
  495. currentdict dup length dict
  496. begin
  497. {
  498. 1 index /TransferFunction ne { def } { pop pop } ifelse
  499. } forall
  500. currentdict
  501. end
  502. }
  503. {
  504. currentdict
  505. } ifelse
  506. end
  507. sethalftone
  508. } bd
  509. } EndLoad
  510. Level2? StartLoad {
  511. /gs
  512. {
  513. begin
  514. /SA here { setstrokeadjust } if
  515. /OP here { setoverprint } if
  516. /BG here { setblackgeneration } if
  517. /UCR here { setundercolorremoval } if
  518. /TR here
  519. {
  520. _ColorSep5044?
  521. {
  522. dup xcheck
  523. { concatandsettransfer }
  524. { aload pop concatandsetcolortransfer }
  525. ifelse
  526. }
  527. {
  528. dup xcheck
  529. { settransfer }
  530. { aload pop setcolortransfer }
  531. ifelse
  532. } ifelse
  533. } if
  534. /sethalftonephase isdefined? { /HTP here { sethalftonephase } if } if
  535. /HT here
  536. { _ColorSep5044?
  537. { tn5044sethalftone }
  538. { sethalftone }
  539. ifelse
  540. } if
  541. end
  542. } bd
  543. /_defaulthalftone currenthalftone def
  544. } EndLoad
  545. Level2? not StartLoad {
  546. /gs
  547. {
  548. begin
  549. /SA here { /_sa? xdd } if
  550. /OP here { dup /_op? xdd
  551. /setoverprint where {pop setoverprint}
  552. {pop} ifelse
  553. } if
  554. /TR here
  555. {
  556. _ColorSep5044?
  557. { dup xcheck
  558. { concatandsettransfer }
  559. { aload pop concatandsetcolortransfer }
  560. ifelse
  561. }
  562. { dup xcheck
  563. { settransfer }
  564. { aload pop setcolortransfer }
  565. ifelse
  566. } ifelse
  567. } if
  568. /HT here
  569. { _ColorSep5044?
  570. { tn5044sethalftone }
  571. { sethalftone }
  572. ifelse
  573. } if
  574. end
  575. } bd
  576. 5 dict dup
  577. begin
  578. currentscreen 1 [/HalftoneType /SpotFunction /Angle /Frequency ]
  579. { exch def } forall
  580. end
  581. /_defaulthalftone exch def
  582. } EndLoad
  583. /int {
  584. dup 2 index sub 3 index 5 index sub div 6 -2 roll sub mul
  585. exch pop add exch pop
  586. } bd
  587. /limit {
  588. dup 2 index le { exch } if pop
  589. dup 2 index ge { exch } if pop
  590. } bd
  591. _ColorSep5044? StartLoad {
  592. /_sfc
  593. {
  594. _fp null eq
  595. { _fcs type /arraytype eq
  596. {_fcs 0 get /Separation eq
  597. {
  598. _fcs 1 get /All eq
  599. {
  600. _fc aload pop 1 exch sub
  601. /setseparationgray where pop begin setseparationgray end
  602. }
  603. {
  604. 1 _fcs 3 get exec _fcs 1 get
  605. /findcmykcustomcolor where pop begin findcmykcustomcolor end
  606. _fc aload pop
  607. /setcustomcolor where pop begin setcustomcolor end
  608. }
  609. ifelse
  610. }
  611. { _fc L1setcolor }
  612. ifelse
  613. }
  614. { _fc L1setcolor }
  615. ifelse
  616. }
  617. { _fc L1setcolor }
  618. ifelse
  619. } bind dd
  620. /_ssc
  621. {
  622. _sp null eq
  623. { _scs type /arraytype eq
  624. {_scs 0 get /Separation eq
  625. {
  626. _scs 1 get /All eq
  627. {
  628. _sc aload pop 1 exch sub
  629. /setseparationgray where pop begin setseparationgray end
  630. }
  631. {
  632. 1 _scs 3 get exec _scs 1 get
  633. /findcmykcustomcolor where pop begin findcmykcustomcolor end
  634. _sc aload pop
  635. /setcustomcolor where pop begin setcustomcolor end
  636. }
  637. ifelse
  638. }
  639. { _sc L1setcolor }
  640. ifelse
  641. }
  642. { _sc L1setcolor }
  643. ifelse
  644. }
  645. { _sc L1setcolor }
  646. ifelse
  647. } bind dd
  648. } EndLoad
  649. %%EndFile
  650.